In general, software executed in various information processing apparatuses can be updated as necessary. For example, a configuration for realizing an environment in which software can efficiently be updated has been known. More specifically, an information processing apparatus is disclosed, with which a notification that a terminal device is ready for update of software is communicated to a user and an instruction to update the software is transmitted in response to acknowledgement by the user.
An information processing apparatus to which one input apparatus is connected or a plurality of input apparatuses are connected through a wire or wirelessly is assumed. Even though update of software is ready, updating is not always performed. For example, an input apparatus which has not established connection when update was ready, an input apparatus in which a state of charge of a battery has not been sufficient when update was ready, and an input apparatus newly purchased after update was ready are not subjected to update.
In such a case, a user has to perform update again by operating a menu for the input apparatus of which software was not updated, and usability may have been lowered. One object of the present technique is to solve the problem as described above.
An exemplary embodiment provides an information processing apparatus to which an input apparatus is connected through a wire or wirelessly. The information processing apparatus includes a memory and a processor coupled to the memory. The processor executes an application program in accordance with an operation by a user accepted by the input apparatus. The processor obtains update data for firmware of the input apparatus from a server through a network. The processor performs processing for updating the firmware of the input apparatus in response to a request from the application program while the application program is being executed. The processor suspends execution of the application program before update of the firmware and resumes execution of the application program in response to completion of update of the firmware.
According to this embodiment, when an input apparatus is used together with the information processing apparatus, firmware is updated as necessary by an executed application. Therefore, the user does not have to manually update the firmware. Therefore, from a point of view of the user, time and efforts for management of a version of the firmware for such a peripheral device as an input apparatus other than the information processing apparatus can be reduced.
According to this embodiment, execution of the application program is suspended before update of the firmware of the input apparatus and suspended execution of the application program is resumed after update of the firmware of the input apparatus. Therefore, from a point of view of the user, it is not necessary to quit the application program which is being executed in order to update the firmware of the input apparatus and inconvenience involved with update of the firmware is not caused.
The processor may perform processing for updating the firmware of the input apparatus when the input apparatus does not satisfy a condition necessary for execution of the application program. By adopting such a configuration, processing for updating the firmware of the input apparatus can be prevented from being performed each time the application program is executed, and processing for updating the firmware of the input apparatus can be performed only when it is necessary.
The processor may obtain version information of the firmware of the input apparatus in response to a request from the application program. By adopting such a configuration, processing for updating the firmware of the input apparatus can reasonably be performed in accordance with conditions required for the input apparatus which are different depending on a content of an application to be executed.
The processor may determine whether or not the version information of the firmware of the input apparatus satisfies a condition required by the application program. By adopting such a configuration, whether or not a required condition is satisfied can be determined based on a common criterion of version information, and processing for determining whether or not update is necessary can be simplified.
The information processing apparatus may further include an application programming interface (API) which gives a response about the version information of the firmware of the input apparatus. By adopting such a configuration, each of applications executed in the information processing apparatus can obtain version information of the firmware of the input apparatus by calling an API in common, and whether or not an environment of execution is appropriate can be determined based on the obtained version information.
The processor may obtain update data for the firmware of the input apparatus together with update data for a system program of the information processing apparatus. By adopting such a configuration, management of the version can be easier than in an example in which update data is individually obtained.
The processor may perform also processing for updating the firmware of the input apparatus connected to the information processing apparatus when processing for updating the system program of the information processing apparatus is performed. By adopting such a configuration, the firmware of the input apparatus which has not been updated for some reason can be updated.
The processor may obtain version information of the system program of the information processing apparatus in response to execution of the application program, and when the version information of the system program of the information processing apparatus does not satisfy a condition necessary for execution of the application program, the processor may perform processing for updating the system program of the information processing apparatus. By adopting such a configuration, processing for updating the system program of the information processing apparatus can reasonably be performed in accordance with conditions which are different depending on a content of an application to be executed.
The information processing apparatus may further include a wireless communication unit which wirelessly communicates with another information processing apparatus. When the information processing apparatus is not wirelessly communicating with another information processing apparatus, the processor may perform processing for updating the firmware. By adopting such a configuration, in updating the firmware of the input apparatus, the possibility of failure in update can be lowered. The firmware of the input apparatus can thus more reliably be updated.
When a state of charge of a battery of the information processing apparatus satisfies a predetermined condition and when a state of charge of a battery of the input apparatus satisfies a predetermined condition, the processor may perform processing for updating the firmware of the input apparatus. By adopting such a configuration, the possibility of failure in update can be lowered in each of the information processing apparatus and the input apparatus so that the firmware of the input apparatus can more reliably be updated.
A plurality of input apparatuses may be connectable to the information processing apparatus through a wire or wirelessly. The processor may perform processing for updating the firmware of the input apparatus used with the application program and perform processing for updating also firmware of another input apparatus connected to the information processing apparatus independently of whether or not the firmware is used with the application program. By adopting such a configuration, the firmware of all input apparatuses connected to the information processing apparatus can collectively be updated.
The processor may execute an application program for a game as the application program. Though game application programs may significantly be different from one another in required condition depending on a content of the games, such a request can also be met by adopting the configuration.
An exemplary embodiment provides an information processing system that includes an input apparatus and an information processing apparatus to which the input apparatus is connected through a wire or wirelessly. The information processing apparatus includes a memory and a processor coupled to the memory. The processor executes an application program in accordance with an operation by a user accepted by the input apparatus. The processor obtains update data for firmware of the input apparatus from a server through a network. The processor performs processing for updating the firmware of the input apparatus in response to a request from the application program while the application program is being executed. The processor suspends execution of the application program before update of the firmware and resumes execution of the application program in response to completion of update of the firmware. According to this configuration, advantages similar to those of the information processing apparatus described above are obtained.
An exemplary embodiment provides an information processing method performed in an information processing apparatus to which an input apparatus is connected through a wire or wirelessly. The information processing method includes executing an application program in accordance with an operation by a user accepted by the input apparatus, obtaining update data for firmware of the input apparatus from a server through a network, performing processing for updating the firmware of the input apparatus in response to a request from the application program while the application program is being executed, suspending execution of the application program before update of the firmware of the input apparatus, and resuming execution of the application program in response to completion of update of the firmware of the input apparatus. According to this configuration, advantages similar to those of the information processing apparatus described above are obtained.
An exemplary embodiment provides a non-transitory computer-readable storage medium with an executable information processing program stored thereon, the information processing program being executed by a computer to which an input apparatus is connected through a wire or wirelessly. The information processing program causes the computer to perform obtaining update data for firmware of the input apparatus from a server through a network, performing processing for updating the firmware of the input apparatus in response to a request from an application program while the application program is being executed in accordance with an operation by a user accepted by the input apparatus, suspending execution of the application program before update of the firmware of the input apparatus, and resuming execution of the application program in response to completion of update of the firmware of the input apparatus. According to this configuration, advantages similar to those of the information processing apparatus described above are obtained.
The foregoing and other objects, features, aspects and advantages of the exemplary embodiments will become more apparent from the following detailed description of the exemplary embodiments when taken in conjunction with the accompanying drawings.